package ventanas;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.Font;

import javax.swing.JTextArea;

import utilidades.EnvioEmail;

public class VentanaEnvioMail extends JFrame {

	private JPanel contentPane;
	private JTextField textField;
	private JTextArea textArea;
	private JFrame estaVentana;
	private JLabel lblAsunto;
    private JLabel lblCampoMensaje;
    private String correo;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					VentanaEnvioMail frame = new VentanaEnvioMail("hola");
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public VentanaEnvioMail(String mail) {
		
		correo=mail;
		estaVentana=this;
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 600, 560);
		this.setResizable(false);
		this.setUndecorated(true);
		this.colocarSkin();
		contentPane = new JPanel();
		contentPane.setBackground(new Color(0, 0, 0));
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		lblAsunto = new JLabel("Asunto:");
		lblAsunto.setFont(new Font("Dotum", Font.BOLD | Font.ITALIC, 14));
		lblAsunto.setForeground(new Color(255, 255, 255));
		lblAsunto.setBackground(new Color(255, 255, 255));
		lblAsunto.setBounds(35, 69, 91, 35);
		contentPane.add(lblAsunto);

		// Para colocar la aplicacion en el centro de la pantalla de cualquier
		// ordenador, ya que si le pusieramos cordenadas
		// dependiendo de cada ordenador saldria en una posicion diferente
		Toolkit toolkit = getToolkit();
		Dimension size = toolkit.getScreenSize();
		setLocation(size.width / 2 - getWidth() / 2, size.height / 2
				- getHeight() / 2);

		textField = new JTextField();
		textField.setBounds(123, 69, 379, 35);
		contentPane.add(textField);
		textField.setColumns(10);

		lblCampoMensaje = new JLabel("Campo Mensaje:");
		lblCampoMensaje.setFont(new Font("Dotum", Font.BOLD | Font.ITALIC, 14));
		lblCampoMensaje.setForeground(new Color(255, 255, 255));
		lblCampoMensaje.setBounds(35, 117, 145, 31);
		contentPane.add(lblCampoMensaje);

		JButton btnNewButton = new JButton("");
		btnNewButton.setIcon(new ImageIcon("imagenesBasicas/enviar.jpg"));
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if(textField.getText().equals(""))
				{
					JOptionPane.showMessageDialog(null, "Debes especificar un asunto.", "Asunto inválido", JOptionPane.INFORMATION_MESSAGE);
				}
				else
				{
					if(textArea.getText().equals(""))
					{
						JOptionPane.showMessageDialog(null, "No has insertado ningún mensaje.", "Mensaje inválido", JOptionPane.INFORMATION_MESSAGE);
					}
					else
					{
						Thread hilo = new Thread(new Runnable() {
							
							@Override
							public void run() {
								EnvioEmail mail2= new EnvioEmail();
								mail2.send("programatrading@gmail.com", "guachupo69", "smtp.gmail.com", "465", correo, textField.getText(), textArea.getText());
								JOptionPane.showMessageDialog(null, "Mensaje enviado.", "Envio correcto", JOptionPane.INFORMATION_MESSAGE);	
							}
						});
						hilo.start();
						estaVentana.dispose();
					}
				}
			}
		});
		btnNewButton.setBounds(194, 444, 60, 61);
		contentPane.add(btnNewButton);
		
		JButton button = new JButton("");
		button.setBounds(285, 444, 60, 60);
		button.setIcon(new ImageIcon("imagenesBasicas/cerrar.jpg"));
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				estaVentana.dispose();
			}
		});
		contentPane.add(button);
		
		textArea = new JTextArea();
		textArea.setBounds(45, 164, 457, 246);
		contentPane.add(textArea);
	}

	public void colocarSkin() {
		try {
			UIManager
					.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (UnsupportedLookAndFeelException e) {
			e.printStackTrace();
		}
	}
}
